1. Field of the Invention
This application relates to managing execution of multi-tier applications. Particularly, this application relates to predicting outcome of various operations on such applications based on their dependencies on other applications.
2. Description of the Related Art
A distributed computing system can include multiple systems that can each include one or more applications. Each such application can be a part of a multi-tier (n-tier) application, such as an enterprise application. For example, a three-tier application can include presentation, processing, and data management tiers. Each such tier can be a logically and/or physically separate process. The n-tier application architecture allows software developers to create flexible and reusable applications. For example, by using such an n-tier architecture, developers can modify or add application for one tier at a time, rather than need to rewrite or upgrade the entire application (i.e., an entire application corresponding to the n-tier application). In one example, a three-tier application can include a presentation tier, a processing tier, and a data tier.
For the three-tier application example, the presentation tier can be the topmost level of the multi-tier application. For example, for an enterprise application for on-line shopping, an application in the presentation tier can display information related to such services as browsing merchandise, purchasing, and shopping cart contents. This presentation application can communicate with applications in other tiers by various methods. Continuing with this example, the function tier can perform various processing on data, such as on data that is accessed from a database tier application(s). This processed data can be passed to the presentation application. The third tier in this example can be a database tier. The database tier can include applications that access (e.g., store and retrieve) data from various database(s).
These applications implementing the enterprise application can have dependencies between each other. For example, the presentation application can depend on (e.g., use data that is generated and/or provided by) the function application(s). The function application(s) can be dependent on data provided by the database applications. Therefore, when the presentation application is executing, the function application(s) should also be executing in order to provide data to the presentation application. Similarly, when the function application(s) is executing, the database application(s) should also be executing to provide data to the function application(s).
While the embodiments of the application are susceptible to various modifications and alternative forms, specific embodiments are provided as examples in the drawings and detailed description. It should be understood that the drawings and detailed description are not intended to limit the embodiments to the particular form disclosed. Instead, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the invention as defined by the appended claims.